home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio / Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso / DREAMSDK.WIN / INCLUDE / I3DEXDFR.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-09-17  |  2.5 KB  |  61 lines  |  [TEXT/mdos]

  1. /* $Id: I3DEXDFR.H 1.3 1995/09/15 05:49:34 PascalF Exp $ */
  2. /*****************************************************************************\
  3. *                                                                             *
  4. * I3DExDfr.h -     I3DExDeformer definition                                                  *
  5. *                                                                             *
  6. *           Copyright (c) 1995, Ray Dream, Inc. All rights reserved.          *
  7. *                                                                             *
  8. \*****************************************************************************/
  9.  
  10. #ifndef __I3DEXDFR__
  11. #define __I3DEXDFR__
  12.  
  13. #ifndef __I3DEX__
  14. #include "I3DEx.h"
  15. #endif
  16.  
  17. #ifndef __I3DSHITE__
  18. #include "I3DShIte.h"
  19. #endif
  20.  
  21.  
  22. //****** Globally Unique Ids *************************************************
  23.  
  24. DEFINE_GUID(IID_I3DExDeformer, 0x5C9601A2L, 0x7CC3, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  25.  
  26. /*****************************************************************************\
  27. *  I3DExDeformer                                                              *
  28. *                                                                             *
  29. *  Geometry Deformers                                                              *
  30. *                                                                             *
  31. \*****************************************************************************/
  32.  
  33. #undef  INTERFACE
  34. #define INTERFACE   I3DExDeformer
  35.  
  36. DECLARE_INTERFACE_(I3DExDeformer, I3DExDataExchanger) {
  37.     // IUnknown methods
  38.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  39.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  40.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  41.   
  42.     // I3DExtension methods
  43.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  44.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  45.  
  46.   // I3DExDataExchanger methods
  47.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  48.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  49.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  50.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  51.     STDMETHOD_(short, GetResID) (THIS) PURE;
  52.   
  53.   // I3DExDeformer methods
  54.     STDMETHOD(SetBBox)(THIS_ BOX3D* bbox) PURE;
  55.     STDMETHOD(DeformPoint) (THIS_ VECTOR3D* point, VECTOR3D* result) PURE;
  56.     STDMETHOD(DeformFacets) (THIS_ IShIterator* iterator, EnumFacetsCallback callback, void* privData) PURE;
  57.     STDMETHOD(DeformPatches) (THIS_ IShIterator* iterator, EnumPatchesCallback callback, void* privData) PURE;
  58.     };
  59.  
  60. #endif
  61.